package controladores;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.List;

import negocio.Especialidad;
import negocio.Medico;
import negocio.Sistema;
import ventanas.VentanaABMEspecialidad;
import ventanas.VentanaWarningEliminarEspecialidad;

public class ControladorABMEspecialidad implements ActionListener{

	private VentanaABMEspecialidad v;
	private Sistema s;
	
	public ControladorABMEspecialidad(VentanaABMEspecialidad ventana){
		this.v = ventana;
		this.s = Sistema.obtenerInstancia();
	}
	
	@Override
	public void actionPerformed(ActionEvent e) {
		
		if(e.getSource()==v.getBtnAceptar()){
			String nombreEsp = v.getTxtEspecialidad().getText();
			if(v.getEsp()==null){
				Especialidad aux = new Especialidad();
				aux.setNombre(nombreEsp);
				s.guardarEspecialidad(aux);
			}else{
				v.getEsp().setNombre(nombreEsp);
				s.modificarEspecialidad(v.getEsp());
			}
			v.dispose();
		}
		
		if(e.getSource()==v.getBtnCancelar()){
			v.dispose();
		}
		
		if(e.getSource()==v.getBtnBajaEspecialidad()){
			
			List<Medico>auxMedicos=s.obtenerMedicos();
			boolean flag=false;
			for (Medico medico : auxMedicos) {
				if (medico.getEspecialidades().contains(v.getEsp()))
					flag=true;
				break;
			}
			if (flag) {
				new VentanaWarningEliminarEspecialidad();
			}else{
			
			s.eliminarEspecialidad(v.getEsp());
			v.dispose();
			}
		}
		
		if(e.getSource()==v.getChckbxEditarEspecialidad()){
			if(v.getChckbxEditarEspecialidad().isSelected()){
				v.getTxtEspecialidad().setEditable(true);
			}else{
				v.getTxtEspecialidad().setEditable(false);
			}
		}
	}
}